/**
 * Copyright (c) 2018-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree.
 */

#pragma once

// Randomly generated 21*21 hash numbers.
const uint64_t _board_hash[] = {
    0x216eb9db61c847b5, 0x42aef2f604c98e93, 0xc30ba4760d5e0271,
    0xae655e33bdebc0e7, 0x70de747b67913228, 0xda003ae9b6998cf1,
    0x74e27d64da89d7f5, 0x1925124836d37fb9, 0x653b3f4070c2bb3a,
    0xe2453c6b4d7bca51, 0x7d2c63fdfa0b6a53, 0xfe680195155cc181,
    0xb86fd7bc8ec309a9, 0xdc63d0aea3bd581a, 0x25320301cc4f89d8,
    0xc9b86ab699249bf4, 0x8905f7bce3715499, 0xb5f270a98e3bfed6,
    0xd40d91cbd5ec4070, 0x5a5de05c6fa33261, 0xdf237706abb4bee2,
    0xfbd4c5585e0e1e7,  0x68abdef12562784b, 0x523be061da550f9e,
    0xf29b17fcf977a5b3, 0x5a860a956d5403d2, 0xcb85dafea8b48da2,
    0xcf5c7e068ff5576,  0x8f891a9267f17705, 0xf0ba26576791f2fc,
    0xa6eae0129b6b0141, 0x7a2c15a763e1a330, 0xcb16f7a68c3051a6,
    0x17c6adddb9c0104d, 0x317a55f4267c90cc, 0xa96e5a43e04937c6,
    0x1df853058080f7c0, 0x984b8cd688e161cd, 0x533d3a40fa5c9385,
    0xf831736c86718dc4, 0xadec4a75c58466a9, 0x175f5e04a6cb512f,
    0xcc885f7162062e71, 0x4a3b8ee63686d865, 0xe9580e44be873e25,
    0xa7341515fd8be9b8, 0xff004a15909d855a, 0x26cdebd817f8f9b,
    0x864744759133ce6a, 0x44822586d0de3de9, 0x7fd4185b9c6c167,
    0xf279cd6242cf3384, 0x5fa1f997197913b5, 0x682b1c6cc5ef69,
    0x4639bb25be2e5631, 0x8feeff0443da9146, 0x2a1216faaba10d21,
    0x32f659b751c76cf1, 0x4a7475a6cad037e2, 0x84f336e193bd244a,
    0x9985eee6ef2633b2, 0xe6522b98ea541ac7, 0xf745b917d61f92f2,
    0xf702dad336b915ba, 0xe2231a939c35a81a, 0xddbeeff62548ecdf,
    0x5b53d2336afe94b2, 0xbb95841805534e4d, 0x8684fe148984099d,
    0x3571b0a9c527f659, 0xa99104cec7afedd,  0x47f0d77494748836,
    0xba773280301b7ba2, 0x31c123e6e72fe196, 0xbe8efc75863594a1,
    0xbad93e0ae377be98, 0xfc1b155352af0597, 0x2b1ec034413b3ef2,
    0x23feb0b498769ff2, 0xce1b47df31525b4c, 0xf678d951b7abcc00,
    0x9d56b2129ed5fb3d, 0x4e823d9341242f9f, 0x455ebdb82cbd8a50,
    0x2432b5fe1584a5f0, 0x66aaa5ddb3a49f7d, 0xdcf8e68e4d06a435,
    0x5c87b6ae1259ca60, 0x769e608aa74861c4, 0x6b7357cb126ba3f0,
    0x9ee8d78a9e82e174, 0xac72c1a4df5b553b, 0x7f1d09e8ae85ae42,
    0x4b2a6382c352ae58, 0xc828ad9aa41c4de5, 0xe33eb5ab9bdaf0f7,
    0x7616eef4efca694b, 0xa939b994bd903f91, 0x9befe5c4e26a2a3f,
    0xec45710edf9a8fd9, 0x1d492717d87deef7, 0x59a2b43fc3ef2ff,
    0x5b0dda5ec6740732, 0x3bf190c62ff4e432, 0xd49fee458f535984,
    0x63a05b052088c94b, 0x6284fb6276665c04, 0x9ba48c2b039e3708,
    0xcca79934bd1e21c0, 0x397de3294a3293c1, 0xf92510c002a535ba,
    0x8a026aa5a7e489f,  0x90fc0649d711f347, 0x963ac1350a769acb,
    0xace8bc8b274f3a8e, 0xcf433fc513125ddf, 0xd269c3612483fd10,
    0xf43b9d841ab3bf27, 0x3d02f63cd8111349, 0xcb4c4b9acb594d90,
    0xc415618a36f78af6, 0xc891ae4e9ac3306c, 0x7bb2ed194a7c5d02,
    0xe476fe9a3cc23fc8, 0x2e8987893aabced,  0xe6e5945b7b4ea069,
    0xdb791925f741f00e, 0xcd939d5146d17521, 0x71023c76e88dca28,
    0x85133d5d90654b27, 0x6e7358bc7900c627, 0xdb6891d28167827f,
    0x684ce868ccd8a485, 0xb4210ba43405f5d6, 0xb27ed83a074dd386,
    0x5ae3071b81ad17e0, 0x90a7a0614e711d87, 0xe88c6de3e2654087,
    0x7f9a43e5d95045b4, 0x5a8ae14d793abbe2, 0x7e277833733a1c30,
    0x71523c25104a2ddc, 0xc4b24f054fe2b7a3, 0xce918f74001dba97,
    0x529f69164421768c, 0x6fc1a29742c67202, 0xb86bcc34bd3a9236,
    0x54a5065c38a639c4, 0x9e868736781af022, 0xa68e242bbeac7b14,
    0x4684242d56c0de99, 0xc1e25aee23db48a4, 0x28109438c36da788,
    0xa9f9f1dd39b6a5,   0x287a50f468a6ec79, 0x73cee11f78a8b608,
    0x331e44556b91c8a7, 0xb31098332ff61631, 0xc47a8ad04b16c577,
    0x615d4e633e80fc12, 0xf8f7951b24cf0cb,  0x1ea6836497413c75,
    0xb9ec7419c0892f5e, 0x96fabe45861f53cd, 0xb96236f6da707d4e,
    0x261c4fbd68fb3b1b, 0x39961cbf3e83a9f4, 0x662ca4a76ce42d7,
    0x4d16748d6fe2493,  0x8fbe7641b245e39c, 0x843bd3feb22c5b4d,
    0x9941513a8aea4528, 0x84e905832706bb99, 0x73c302b44b23a833,
    0x9b039ad42efb229f, 0x174b8664dcfdee98, 0x8f76a50d9242d4d8,
    0xef442fac20cf05c8, 0x2d371097ebdc0233, 0x7dabb83eec13429c,
    0x5bc2e4427e17d383, 0xf6b648b8d2ddc3fd, 0xcde622a517cace58,
    0x97bb317cb02437d9, 0xcb45ba7e0fa432fe, 0xac4fef5d90a55520,
    0x9247701f9aefb704, 0x8e3013f29eaa62aa, 0x892923c2323608ac,
    0x5ebcc97ddfbbf557, 0x8ceca851ba635bb8, 0xb3acffb8089488b5,
    0x5fa8d9b207fc823c, 0x13f349cc43b8e92b, 0x4f3dd4f7bf836efe,
    0x4e4866a48014548,  0x37c80d7635932a1e, 0x94cb3023d4626099,
    0x6f7595b8a596480,  0xe281bb5d4e62c70b, 0x5c93cab868898c64,
    0xef14fb084bd4a42f, 0x6bd81f3a2d48a303, 0x200369727fd8ae65,
    0x74f03e003cd76611, 0x4271ed10e89032db, 0x92f887ac2d038777,
    0xe11c0468f6f99dc,  0x54e823791706d250, 0x3eac7ddbf9c54962,
    0x5729b435070785,   0x2da8bec908898e75, 0x68363d6a2dace09e,
    0xa2e8ae3c470843c2, 0x84f8687a4ece8428, 0xf360c8b00948260b,
    0x8a51839ef20dc311, 0xc07d214bdb1d324,  0x6b2e03afedb06924,
    0x4ba167a9b2bd913b, 0x72dbd35c311f6661, 0x4016db829756cdcf,
    0x1a542fbf0301fbaf, 0x2b1c7b6be84aa2b5, 0x2ff24da72a427da5,
    0x6aea19f2f4027f7e, 0xe46a551823507a86, 0x7e1cbf902862a206,
    0xc3cc6a680be887b3, 0x957c211bb8d864af, 0x46dce7fc18e645b4,
    0x5bfc930766f3370f, 0x1f4144e6ad738a88, 0x36d4f054cc794d9c,
    0xe64abfaa1037ec5b, 0xe2028fa5b5acbf1f, 0x984ca41286631640,
    0x1c084fd0d49c8331, 0xd2476113b8da9aac, 0xa6b595fd7aa79133,
    0xa2c60978c9b5576e, 0x2297a59a7b8fac5,  0xbbc76a402269261b,
    0xe3d6195507456f61, 0x21224246cf005216, 0x66162c382feb1970,
    0x16ed1e5a668b9c48, 0x52b9586897b44f51, 0x371bb9ed51217ae,
    0x2c4822b1158bc3cc, 0xd78b75015ddc3dbd, 0xa451036486b04fc2,
    0x95c12ae7d02ecab7, 0x36d6ad5a9d6471cd, 0x96cf8fcc14e96a4c,
    0xfc84a83062ae2d88, 0x9377459581eb2f78, 0x48690bd724c49a09,
    0x18423b6f44b8d981, 0xec46bb6c618d8dd4, 0x7dd4b0ae5e14c509,
    0x5d66eac4769cb54d, 0xa377539c6044392a, 0xaa0a528d085cb226,
    0x9c1f566710696424, 0xb6e5a34bdab52a52, 0xb642c1159ce2b903,
    0x927d932cf0ac39b6, 0xb713cfe53855c75b, 0x482f5199b2986de1,
    0xb79d27bc2e27d03b, 0x5f1a4f2fbce9e632, 0x78be2940fd4f65ed,
    0x7169f244230bab04, 0x61e259b7b68d2c9f, 0x71fce5e36b4aa000,
    0xb27b2a48ab621963, 0x34da43645f778b59, 0xab2cc40fbeadf898,
    0x83031a48c47525fe, 0x5c28d2c37ee137c,  0xb4cc5658b65d54dd,
    0xbee897784ab56456, 0x968cb4f182baba8,  0xc0724ee77c241345,
    0xd354092cb692811e, 0xe0ca91de3c86dc71, 0x37fafc5f7a508a86,
    0x20d3237c2aaeecc5, 0xadb3be359832044a, 0x62a6ccfe3d33807c,
    0x984abf100a085441, 0xd44ef65ab25809b6, 0x38c122f88aaaacf6,
    0xacdc3d16852aeca,  0xd726b92ef6cde948, 0x2d9cb846e1baba5c,
    0x7226e583e3297397, 0xaa09c9e896740994, 0x18e64f970059c3c7,
    0x56c10dfa0b286206, 0x456151c5f5a2578d, 0xcbcc8886155d1c0b,
    0xc6b0d23870b5e8a7, 0xb895c0b6ed0c72eb, 0x3cacd27183a23b5d,
    0x570dd1636ed434bd, 0x69053622298339cd, 0x366145083ecad362,
    0x8f8aa40c8efbb93e, 0x57eb9f92212cc01b, 0x87c619c4c9f0aef8,
    0xa9047142fbd05ed2, 0xe5703340a9e438a3, 0xe9b63e399714ca4a,
    0x6ebb5719844e338b, 0xfe76fe2c502c34e1, 0xdf690edc43114fc2,
    0x38709ea5f783eebb, 0xd21d7efc73649e5c, 0x73aefee26fa42a7c,
    0xe4bf5096734761ee, 0xea2e1a7322192d1e, 0xd2675a58635c8129,
    0x5c6a3e7762bb841c, 0x8e4905c2fb5c152f, 0x8e0ab755723c0f8e,
    0x40ead58ac81aacec, 0xe7c4823ee6fc561,  0x70b3b9fb14268acb,
    0x855ff908cd8b511,  0x8084cce7cbeedd02, 0x9d8f2a3133c95138,
    0xcf6a05b56b19a4da, 0xbfb1eefa0f5a3a91, 0xe8f6a06c2ada2286,
    0x5c838204bd40121e, 0x25965a4fe4f986c,  0x5160548b155792c1,
    0x409ec9498c1a0229, 0x5f03db1bb83757fe, 0x512693448ad7b3de,
    0x91ad165f5ea494af, 0xed01bc5137f69066, 0xde93fe00262830f9,
    0xbea4635dcbbcea01, 0x6bfd43de4f89c1c8, 0x6e82f555260003c,
    0xf776865a61fa88bb, 0xc3231519572393c6, 0x858a5558d026f5c6,
    0xcaa7089e21956b4e, 0xf7750b49d07fc5d3, 0x919db355d7ec7082,
    0x2de516f911c42751, 0x300c1e0917017c6e, 0x88db4622ebb0b59d,
    0xdbec2f9aa57a2292, 0x77507cf5fe9f1a03, 0xcf7e9fefe1536b7a,
    0x6cb3d5b66267c88a, 0x67060920569ebffb, 0xcb3108397444cfa7,
    0x49f2c916471b541,  0x8a7177972c348111, 0xe2d796545b2668ba,
    0x9a1d5ccb9400224b, 0x7011b0d62cf6d86d, 0x6a7866b47396706c,
    0xa459a476f9b81633, 0x3c3315269e091997, 0x3efdffed592a0460,
    0x3d744b0a6e4c1626, 0xe8399331f67160ae, 0xd050c0bdcb2f6ef3,
    0xc29807a229c373a,  0xdf766123272d120e, 0x8832f13dfddcfa3d,
    0x440d1b7955f84ae4, 0x6917ec8004bf92aa, 0xe18b9a77e9882134,
    0x8e270dafafca1ffb, 0xfd47950a93b8a273, 0x2614d5ac3edf0f61,
    0x50d1045205a67535, 0x1674ccb5961a5a6d, 0x4b01436476a3e3e5,
    0x3b5fca752d38400e, 0xd56835d65e70f639, 0xc2920628d4326060,
    0x9cd5017408e1bd42, 0x7a2f94847ecc0ac4, 0x668a164cfdde675d,
    0x230b7c2e36590c7d, 0xb0e13d44eb558d50, 0x1b7b242d17a03134,
    0x827b64bffb2fe4f0, 0xfd0a35b43fc2a51e, 0xde6e9493de024da3,
    0x6e75e946c5de9d89, 0x7c12d56aa006d63b, 0xd1fd5132db1bd165,
    0xd8b9691759049c58, 0x1139114fdd9b2e2a, 0xd3add92765eebab2,
    0xdfa1cd70c84fc3b5, 0x7e7c4e50744e950,  0xb49469aedb6ad0e9,
    0x7228dd4bf8fd2fec, 0xa8b97d470271e45f, 0x401b2a84c68e0edd,
    0x1bdf2bc379d4b2f9, 0x54c8cc1b72bc5ea7, 0x5ee4b0ab17b07010,
    0x1303480204c72f3c, 0x136ab4ae4eff90bf, 0xa34611e6a5eef376,
    0xde15ceeadc59ac34, 0xf08c65a12c87c493, 0x5c2febc9a52c91f0,
    0x1fb4d0ef7ae12a56, 0xe853cdc417cc82ab, 0x2356bd556946108c,
    0x4af4396ced355b2b, 0x1024c12632475f0b, 0x1ee28b7003074669,
    0x90ab7ebda1eba1a8, 0x9fe13e6f6bd966e9, 0x494249844f4165f0,
    0xa3aa3eaf75e17443, 0xc7e680dc68df2f71, 0x1000643ee15a98fd,
    0x77b02107980b1f3c, 0xfbad6df080a869ad, 0xee9262e7e8eafc89,
    0xaa3f62d4ddcaa981, 0x29ba35049c9fae77, 0x5dcbcde63dd01a8d,
    0xfc9e769c17b8e7be, 0xe08526ac653fc545, 0x2ab72b847ff9f50f,
};
